Rob Pike的編程5原則
Rob Pike的編程5原則
https://users.ece.utexas.edu/~adnan/pike.html
https://www.cs.unc.edu/~stotts/COMP590-059-f24/robsrules.html
1989?
1. 程式的瓶頸會出現在預想不到的地方,無法事先預測
因此不要在缺乏證據的情況下高速化
2. 進行測量
不要在未測量的情況下高速化
3. 複雜的演算法在普通常數較大、n較小時派不上用場
在確定n的值相當大之前,不要使用複雜的演算法
4. 複雜的演算法比單純的程式更難實作,也容易造成bug
使用單純的演算法與資料結構
5. 世界由資料支配
有條理地使用正確的資料結構,大多情況該使用何種演算法都是不言自明的
程式的核心不是演算法,是資料結構
1和2呼應了過早最佳化是一切罪惡的根源
3和4與KISS設計哲學一致
5常被概括為「撰寫使用聰明物件的簡單程式」
2024-10-20 計測する前に観察せよ ~ Observe. Don't measure for monitoring until you've observed - An Epicurean
不要猜測,而要測量是對3相當程度的意譯
測量之前,先做觀察
從3延伸而來的主張
進行觀察,不要在未觀察的情況下測量